package com.dingyx.ps.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description 主结算单
 * @author zhangyang@zencor.cn
 * @date 2021-03-09
 */
@Data
@ApiModel
public class AccountBillMasterVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("结算单ID")
    private Long id;

    /**
     * 结算单号
     */
    @ApiModelProperty("结算单号")
    private String billNo;

    /**
     * 任务id
     */
    @ApiModelProperty("任务id")
    private Long taskMasterId;

    /**
     * 任务名称
     */
    @ApiModelProperty("任务名称")
    private String taskName;

    /**
     * （0:待申请，1:审核中，2:已驳回，3:待结算，4:已到账，5:已取消, 6:已结算）
     */
    @ApiModelProperty("（0:待申请，1:审核中，2:已驳回，3:待结算，4:已到账，5:已取消, 6:已结算）")
    private Integer billMasterStatus;
    /**
     * 给工程师实际结算金额之和
     */
    @ApiModelProperty("给工程师实际结算金额之和")
    private BigDecimal taskPriceSum;
    /**
     * 服务费
     */
    @ApiModelProperty("服务费")
    private BigDecimal servicePrice;

    @ApiModelProperty("商户结算金额")
    private BigDecimal enterpriseNeedPay;
    /**
     * 任务信息
     */
    @ApiModelProperty("任务信息")
    private TaskMasterVO taskMaster;

    /**
     * 子结算单信息
     */
    @ApiModelProperty("子结算单信息")
    private List<AccountBillSlaverVO> billSlaverList;

    @ApiModelProperty("平台结算方式")
    private List<PlatformSettleMethodVO> settleMethodVOList;

    @ApiModelProperty("结算人数")
    private Integer appointNumber;

    /**
     * 服务类目
     */
    @ApiModelProperty("服务类目")
    private String serviceCategory;

    /**
     * 服务开票类目
     */
    @ApiModelProperty("服务开票类目")
    private String billingCategory;

    /**
     * 任务佣金开票类目
     */
    @ApiModelProperty("任务佣金开票类目")
    private String taskBillingCategory;

    @ApiModelProperty("任务说明")
    private String taskDesc;

    @ApiModelProperty("商户名称")
    private String enterpriseName;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createDate;
}

